Terminals available for multimedia messaging and so-called instant messaging have different media and network capabilities (e.g. different media formats supported, different limitation in message size and image resolution, etc.). A messaging server, such as an MMS Proxy-Relay logical entity as defined in the Open Mobile Alliance (OMA) specifications of the Multimedia Messaging Service (MMS) or a SIP proxy in SIP IM, has no standard way of knowing in advance whether media adaptation—called here transcoding (to accommodate limited multimedia capabilities of the receiving terminal)—is needed or not when providing a multimedia message to a terminal. Today a server must analyze all components of a message in view of the capabilities of the terminal to which the message is being sent, which means that a message must be opened to determine its relevant media characteristics.
The relevant characteristics of a message include for example: image resolution, whether a JPEG (Joint Photographic Experts Group) is baseline or progressive, and the number of frames of a GIF (graphics interchange format) image. If the message has multiple components (for example multiple JPEG images or multiple images of different formats) then the server has to analyze all the components of the message. For some server implementations, such an analysis requires that for each media component, a processing component (e.g. a plugin) supporting the media type of the component be identified, and that the media component then be sent to the identified media processing component for analysis. In the simplest cases, the analysis can be performed by decoding only the beginning (e.g. header part) of the media component. Nevertheless, the analysis requires processing in respect to each media component and requires the presence of a processing component capable of the analysis. The performance penalty can be very high if the transcoding engine is located on a separate server (e.g. in case of one vendor providing the messaging server but opting to use a transcoding server provided by another vendor, as illustrated in FIG. 1).
Thus, it would be advantageous to have a mechanism by which a messaging server can determine whether transcoding/media adaptation is needed for a message intended for a terminal without having to (open and) examine each media component of the message.